---
id: 6568997f94c673a68b035b60
title: Крок 14
challengeType: 20
dashedName: step-14
---

# --description--

Тепер потрібно об’єднати елементи сегмента (`part`) за допомогою вертикальної лінії (`|`).

Для цього спочатку використайте цикл `for` (`for item in part`), щоб отримати всі елементи.

Потім використайте метод `join()` на символі `|`, щоб об’єднати елементи сегмента (`part`).

Після цього перетворіть кожен елемент на рядок за допомогою `str(item)`.

# --hints--

Використайте метод `join()` на символі `|`, щоб об’єднати елементи сегмента (`part`). Також додайте тест для "".

```js
assert.match(code, /('|")\|\1\.join\s*\(/)
```

Викличте `str()` на кожному елементі в `part` за допомогою виразу-генератора.

```js
({ test: () => assert.match(code, /\(\s*str\s*\(\s*(\w+)\s*\)\s+for\s+\1\s+in\s+part\s*\)/) })
```

Внутрішній цикл `for` повинен містити `'|'.join(str(item) for item in part)`.

```js
({ test: () => assert.match(code, /("|')\|\1\.join\s*\(\s*str\s*\(\s*(\w+)\s*\)\s+for\s+\2\s+in\s+part\s*\)/m) })
```

# --seed--

## --seed-contents--

```py
class Board:
    def __init__(self, board):
        self.board = board

    def __str__(self):
        upper_lines = f'\n╔═══{"╤═══"*2}{"╦═══"}{"╤═══"*2}{"╦═══"}{"╤═══"*2}╗\n'
        middle_lines = f'╟───{"┼───"*2}{"╫───"}{"┼───"*2}{"╫───"}{"┼───"*2}╢\n'
        lower_lines = f'╚═══{"╧═══"*2}{"╩═══"}{"╧═══"*2}{"╩═══"}{"╧═══"*2}╝\n'
        board_string = upper_lines

        for index, line in enumerate(self.board):
            row_list = []
--fcc-editable-region--
            for square_no, part in enumerate([line[:3], line[3:6], line[6:]], start=1):

--fcc-editable-region--
```
